<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of funcionario
 *
 * @author Agustin
 */
require_once 'persistenciaFuncionario.php';

class Funcionario {

    var $ci;
    var $nombre;
    var $direccion;
    var $apellido;
    var $especialidad;
    var $telefonos = array();

    public function __construct($datos) {
        if (!is_null($datos)) {
            $this->ci = $datos[0];
            $this->nombre = $datos[1];
            $this->direccion = $datos[2];
            $this->apellido = $datos[3];
            $this->telefonos = $datos[4];
            $this->especialidad = $datos[5];
        }
    }

    public function crearFuncionario() {
        try {
            $pF = PersistenciaFuncionario::getInstance();
            $datos = array($this->ci, $this->nombre, $this->direccion, $this->apellido, $this->telefonos);
            $pF->crearFuncionario($datos);
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function agregarFuncionariosTelefonos($telefonos) {
        try {
            $pF = PersistenciaFuncionario::getInstance();
            $datos = array($telefonos, $this->ci);
            $pF->agregarTelefonoFuncionario($datos);
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function traerFuncionarios($ci) {
        try {
            $funcionarios = array();
            $pF = PersistenciaFuncionario::getInstance();
            $funcionarios = $pF->traerFuncionarios($ci);
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function actualizarFuncionarios() {
        try {
            $pF = PersistenciaFuncionario::getInstance();
            $datos = array($this->nombre, $this->direccion, $this->apellido, $this->telefonos, $this->ci);
            $pF->actualizarFuncionario($datos);
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function __toString() {
        return $this->nombre . " " . $this->apellido;
    }

}

?>
